package com.tedu.api.thread;

/**
 * 线程----创建 3种
 * 第一种：子类  继承Thread 方案--【使用率不多】
 *      ①编写子类 MyThread1 继承 Thread
 *      ②子类：重写run方法【线程运行】
 *      ③实例化 MyThread1 对象  调用start方法【启动线程】
 *
 * 第二种：子类  实现Runnable接口 方案--【推荐用法】
 *      ①编写子类MyThread1 实现 Runnable  接口
 *      ②子类，强制重写run方法【线程运行】
 *      ③实例化MyRunnable1【没有start方法】
 *      ④创建Thread对象，把实例化MyRunnable1 对象通过构造器
 *      ⑤调用Thread对象 start方法
 * 第三种：匿名内部类实现线程--->Lambda表达式
 */
public class ThreadAPI {
    public static void main(String[] args) {
        //③实例化MyThread1对象
        MyThread1 mt1=new MyThread1();
        mt1.start();
        //练习：继承Thread线程类---MyThread2[执行结果] 1000次
        //                      我对你啊，是One心One意--看结果
        MyThread2 mt2=new MyThread2();
        mt2.start();
    }
}
//①MyThread1 子类 | 线程实现类
class MyThread1 extends Thread{
    //②子类：重写run方法
    public void run() {
        for(int i=0;i<1000;i++){
            System.out.println("给我学的，One愣One愣的~~");
        }
    }
}
class MyThread2 extends Thread{
    public void run(){
        for(int i=0;i<1000;i++){
            System.out.println(" 我对你啊，是One心One意");
        }
    }
}
